package main

import (
	"database/sql"

	_ "github.com/mattn/go-sqlite3"
)

// InitDB 初始化数据库连接并创建表
func InitDB() (*sql.DB, error) {
	// 打开 SQLite 数据库
	db, err := sql.Open("sqlite3", "./homebox.db")
	if err != nil {
		return nil, err
	}

	// 调用新的函数来创建 locations 表
	err = CreateLocationsTable(db)
	if err != nil {
		db.Close()
		return nil, err
	}

	return db, nil
}

// CreateLocationsTable 创建 locations 表
func CreateLocationsTable(db *sql.DB) error {
	// 创建 locations 表，id 列为主键列会自动递增，name 列不能重复
	_, err := db.Exec(`
        CREATE TABLE IF NOT EXISTS locations (
            id INTEGER PRIMARY KEY,
            name TEXT NOT NULL UNIQUE
        );
    `)
	return err
}
